package com.ruoyi.custservice.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 借款申请对象VO
 */
@Data
public class LoanOrderVO extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * PK
     */
    private Long id;

    /**
     * 借款流水号
     */
    private String loanSerialNo;

    /**
     * 客户号
     */
    private String custNo;

    /**
     * 产品ID
     */
    private Long fkProductId;

    /**
     * 产品编码
     */
    private String productCode;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 产品期数
     */
    private Integer periodNum;

    /**
     * 单位
     */
    private String unit;

    /**
     * 利(息)率
     */
    private BigDecimal interestRate;

    /**
     * 服务费
     */
    private BigDecimal serviceFee;

    /**
     * 趸交
     */
    private String isSinglePayment;

    /**
     * 最低贷款额度
     */
    private BigDecimal minQuota;

    /**
     * 最高贷款额度
     */
    private BigDecimal maxQuota;

    /**
     * 滞纳金日费率
     */
    private BigDecimal dateLateFee;

    /**
     * 滞纳金按日收费宽限期（天数）
     */
    private Integer lateFeeGracePeriod;

    /**
     * 滞纳金计算最大天数
     */
    private Integer lateFeeMaxDays;

    /**
     * 借款额度
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal loanAmt;

    /**
     * 银行卡
     */
    private String accountNumber;

    /**
     * 借款期数
     */
    private String tenor;

    /**
     * 贷款用途
     */
    private String loanPurpose;

    /**
     * 贷款用途其他
     */
    private String loanPurposeOther;

    /**
     * 应还利息
     */
    private BigDecimal interestAmt;

    /**
     * 应还总金额
     */
    private BigDecimal totalAmt;

    /**
     * 还款日期
     */
    private String repayDate;

    /**
     * 借款状态
     */
    private Integer loanStatus;

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 放款流水号
     */
    private String payTransSerialNo;

    /**
     * 状态
     */
    private String state;

    /**
     * 借据状态
     */
    private Integer iouStatus;

    /**
     * 状态
     */
    private String applicant;

    /**
     * 放款时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymentTime;

    // 信息披露
    private String behavior;
    // 操作指南
    private String dictate;
}
